home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The X-Philes (2nd Revision)
/
The X-Philes Number 1 (1995).iso
/
xphiles
/
hp48hor2
/
mkrom.doc
< prev
next >
Wrap
Text File
|
1995-03-31
|
4KB
|
143 lines
MKROM docs
~~~~~~~~~~
MKROM library provides the command MKROM which gets a bit closer to
MAKEROM.EXE program in the hp tools package. Users with previous experience
with MAKEROM should have no trouble using this program, for others I recommend
reading MAKEROM.DOC too.
!!! MKROM needs <-RPL-> library to work. !!!
!!! MKROM uses low level entries in <-RPL-> !!!
!!! so MKROM must be specially compiled for !!!
!!! the <-RPL-> version you're using. !!!
Tokens used:
LIBRARY hhh
[xEXTERNAL/EXTERNAL sss]
hhh = library number in hex
Starts library compilation. If no LIBRARY token is found in the source
MKROM works just like ->RPL.
Following external definitions are scanned to mark which names are to
be interpreted as ROMPTRs. xEXTERNAL defines a visible romptr,
EXTERNAL a hidden ROMPTR. Names defined by xEXTERNAL are called by
adding 'x' to the front of sss.
The order of xEXTERNAL/EXTERNAL definitions define the romptr numbers
to assign for the names so that names defined by xEXTERNAL are counted
from 0 upwards first.
Currently libraries cannot be embedded into other source, use INCLUDE
to get around this problem by including the makefile for the library.
ENDLIB
Marks the end of a library. (Hash and link tables are formed)
xTITLE "ssss"
Sets library title. Default is no title.
xCONFIG
Marks config program to be next in stream. Default is no config.
xMESG
Marks message table to be next in stream. Default is no table.
xNAME sss
Marks a visible romptr named sss (defined by xEXTERNAL)
sNAME sss hhh
Marks a visible romptr named sss (defined by xEXTERNAL)
Assigns hhh as the first hash to use when building hash table.
If hhh = NIL a null name is used as the hash name.
tNAME sss hhh
Assigns a new hash name (hhh) for romptr sss. Overrides name set by
xNAME, but not the one set by sNAME. A romptr can have several hash
names, which all can be typed, the one defined first is the one shown
on stack & library menu.
If hhh = NIL a null name is used as the hash name.
NULLNAME sss
Marks a hidden romptr named sss. Default hash name is NIL.
The difference between NULLNAME and xNAME (+sNAME):
NULLNAME does not insert any code into the stream, xNAME (+sNAME) inserts the
library number and command number to the stream. As with MAKEROM the user is
assumed to take care of the library header field for xNAMEs (+sNAMEs)
SOURCE sss
Redefines default source directory to be in a port. Purpose is to get
more free RAM for the compilation process just by giving a 'makefile'
as argument to MKROM.
:&:{ sss IDname } is used to recall the source.
If sss = NIL current directory is used again.
INCLUDE sss
Includes the source stored into a variable called sss into the current
location. Obeys directory defined by SOURCE.
INCLOB sss
Includes the object stored into a variable called sss into the current
location. Obeys directory defined by SOURCE.
If LIBRARY token has been met, all ID->ROMPTR conversions are done as
implied by the external definitions. No 'x' header is assumed for
the IDs defined by xEXTERNAL.
Example makefile skeleton:
-------------------------------------------------------------------------------
ASSEMBLE
xxROMID EQU #nnn
RPL
LIBRARY nnn
xEXTERNAL sss1
EXTERNAL sss2
xTITLE "Title V1.0"
(SOURCE dirname)
xCONFIG
:: DOBINT xxROMID TOSSRP ;
(xMESG INCLOB MsgArry)
NIBB 1 8
xNAME sss1
INCLUDE Name1
NULLNAME sss2
INCLUDE Name2
ENDLIB
-------------------------------------------------------------------------------
Notes:
The names used by INCLUDE/INCLOB have no connection whatsoever to the
names defined by xNAME etc.
Use NIBB 1 8 in front of xNAME and sNAME tokens to mark a normal cmd.
Use NIBB 1 000 to mark a function. (If libnum < 1792)